﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Teenusekiht;
using System.ServiceModel;

public partial class UserControls_EditMenuItem : System.Web.UI.UserControl
{
    IService1 sc = new ChannelFactory<IService1>("Serv").CreateChannel();
    public string MyygiArtikliNimetus { get; set; }
    public string MyygiArtikliKomm { get; set; }
    public int MyygiArtikliHind { get; set; }
    public int KaupID { get; set; }
    public int MyygiArtikliID { get; set; }
    public bool IsValid { get; set; }
    public SoodustusType[] Soodustused { get; set; }
    public int SoodustusteArv { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        
    }

    public static int? parseHind(string strHindComma)
    {
        int hind = 0;
        if (strHindComma.Count(ch => ch == ',' || ch == '.') > 1) return null;
        if (strHindComma.LastIndexOfAny(",.".ToCharArray()) < strHindComma.Length - 3) return null;
        string strHindDot = strHindComma.Replace(",", "");
        string strHind = strHindDot.Replace(".", "");
        return (int.TryParse(strHind, out hind)) ? (int?)hind : null;
    }

    public void getFields()
    {
        MyygiArtikliID = int.Parse(hf_myygiartikkel_ID.Value);
        MyygiArtikliNimetus = tb_MyygiArtikliNimetus.Text;
        string val = ddl_Kaup.SelectedValue;
        KaupID = int.Parse(val);
        //System.Web.HttpContext.Current.Response.Write(("<SCRIPT LANGUAGE=\"JavaScript\">alert(\"" + ddl_Kaup.SelectedValue + "\")</SCRIPT>"));
        MyygiArtikliKomm = tb_MyygiArtikliKomm.Text;
        //int hind = 0;
        IsValid = (parseHind(tb_MyygiArtikliHind.Text) != null); // int.TryParse(tb_MyygiArtikliHind.Text, out hind);
        if (!IsValid) lblValid.Text = "Sisesta hind arvuna! Näiteks 0,99";
        else 
        {
            MyygiArtikliHind = (int)parseHind(tb_MyygiArtikliHind.Text);
            lblValid.Text = "";
        }
    }

    public void test(KaupType[] kaubad)
    {
        foreach (KaupType kaup in kaubad)
        {
            ddl_Kaup.Items.Add(new ListItem(kaup.Nimetus, "" + kaup.KaupID));
        }
    }

    public void setFields(int id, string nimetus, int hind, int kaupID, string komm, SoodustusType[] soodustused, int soodustusteArv)
    {
        Soodustused = soodustused;
        SoodustusteArv = soodustusteArv;
        KaupType[] kaubad = sc.AnnaKaubad(Rakendus.RAKENDUSE_KOOD).ToArray();
        foreach (KaupType kp in kaubad) ddl_Kaup.Items.Add(new ListItem(kp.Nimetus, "" + kp.KaupID));
        ddl_Kaup.SelectedValue = "" + (KaupID = kaupID);
        hf_myygiartikkel_ID.Value = "" + (MyygiArtikliID = id);
        tb_MyygiArtikliNimetus.Text = MyygiArtikliNimetus = nimetus;
        tb_MyygiArtikliHind.Text = "" + (double)(MyygiArtikliHind = hind) / 100;
        tb_MyygiArtikliKomm.Text = (MyygiArtikliKomm = komm);
    }

    protected void Page_PreRender(object sender, EventArgs e)
    {
        TableRow row = new TableRow();
        if (Soodustused != null)
        {
            foreach (SoodustusType soodustus in Soodustused)
            {
                if (soodustus != null) row.Cells.Add(new TableCell() { Text = soodustus.SoodustuseNimi });
            }
        }
        tabelSoodustused.Rows.Add(row);

    }

    public bool checkBoxChecked()
    {
        return cb_Kustuta.Checked;
    }

}